<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\DB;
use Intervention\Image\Facades\Image;

class LogoController extends Controller
{
    public function index()
    {
        //查询数据
        $result = DB::table('logo')->paginate(5);
        //加载页面 传送数据
        return view('admin/logo', ['result' => $result]);
    }

    public function add()
    {
        //加载页面
        return view('admin/logoadd');
    }


    public function insert(Request $request)
    {
        $count = count(DB::table('logo')->get());
        if ($count == 5) {
            return redirect('/adm/logo');
        }
        $file = $request->File();
        $key = key($file);
        if ($_FILES[$key]['error'] > 0) {

            switch ($_FILES[$key]['error']) {
                case '1':
                    $msg = '孩子, 回家重新上传, 文件太大了, 不要超过2M';
                    return back();
                    break;
                case '2':
                    $msg = '请打开F12, 删除 MAX_FILE_SIZE , 即可正常上传';
                    return back();
                    break;
                case '3':
                    $msg = '请查看网线是否连接好';
                    return back();
                    break;
                case '4':
                    $msg = '请不要调戏我, 上传一个给我';
                    return back();
                    break;
                case '6':
                    $msg = '请联系网管, 晚上啥时候约一下, 连个目录都不给我';
                    return back();
                    break;
                case '7':
                    $msg = '再联系网管, 你想什么时候死, 说一声, 连个权限都不给我';
                    return back();
                    break;
            }
        }
        if (!is_uploaded_file($_FILES[$key]['tmp_name'])) {
            return back();
        }

        // 判断文件类型
        $ext = $request->file('img')->getClientOriginalExtension();

        if (!in_array($ext, array('jpg', 'png', 'jpeg'))) {
            //('不合法的文件类型');
            return back();
        }

        // 移动文件到指定位置
        $path = './uploads/' . date('Y/m/d');
        $name = date('Ymd') . uniqid();
        $ext = $request->file('img')->getClientOriginalExtension();
        $filename = $name . '.' . $ext;
        $uimg = $path.'/'.$filename;
        $img = ltrim($uimg,'.');
        $request->file('img')->move($path, $filename);
        //接收信息数据
        $link = $request->link;//链接
        //批量插入
        $data = array(
            'link' => $link,
            'img' => $img
        );

        //插入数据库
        $result = DB::table('logo')->insert($data);

        //判断数据
        if ($result) {
            //是trun跳转页面
            return redirect('/adm/logo');
        } else {
            return redirect('/logo/add');
        }

    }

    //删除数据ajax请求
    public function del($id)
    {
        //接收数据
        $id = $id;
        //删除之前把(userole)里的数据也删除

        $result = DB::delete('delete from `logo` where id=' . $id);

        if ($result) {
            echo 1;
        } else {
            echo 2;
        }
    }

    //编辑广告
    public function upd($id)
    {
        //接收id
        $id = $id;
        //查询数据
        $result = DB::table('logo')->where('id', $id)->get();
        //判断跳转
        if ($result) {
            return view('admin/logoupd', ['result' => $result]);
        }
    }

    //编辑广告的方法
    public function update(Request $request)
    {
        $file = $request->File();
        if (empty($file)) {
            //接收信息数据
            $id = $request->id;
            $link = $request->link;
            //处理数据
            $result = DB::table('logo')
                ->where('id', $id)
                ->update(
                    [
                        'link' => $link,
                    ]
                );
            //判断数据跳转
            if ($result) {
                //true跳转重定向
                return redirect('/adm/logo');
            }
        }
        $key = key($file);
        if ($_FILES[$key]['error'] > 0) {

            switch ($_FILES[$key]['error']) {
                case '1':
                    $msg = '孩子, 回家重新上传, 文件太大了, 不要超过2M';
                    return back();
                    break;
                case '2':
                    $msg = '请打开F12, 删除 MAX_FILE_SIZE , 即可正常上传';
                    return back();
                    break;
                case '3':
                    $msg = '请查看网线是否连接好';
                    return back();
                    break;
                case '4':
                    $msg = '请不要调戏我, 上传一个给我';
                    return back();
                    break;
                case '6':
                    $msg = '请联系网管, 晚上啥时候约一下, 连个目录都不给我';
                    return back();
                    break;
                case '7':
                    $msg = '再联系网管, 你想什么时候死, 说一声, 连个权限都不给我';
                    return back();
                    break;
            }
        }
        if (!is_uploaded_file($_FILES[$key]['tmp_name'])) {
            return back();
        }

        // 判断文件类型
        $ext = $request->file('img')->getClientOriginalExtension();

        if (!in_array($ext, array('jpg', 'png', 'jpeg'))) {
            //('不合法的文件类型');
            return back();
        }

        // 移动文件到指定位置
        $path = './uploads/' . date('Y/m/d');
        $name = date('Ymd') . uniqid();
        $ext = $request->file('img')->getClientOriginalExtension();
        $filename = $name . '.' . $ext;
        $uimg = $path.'/'.$filename;
        $imgpath = ltrim($uimg,'.');
        $request->file('img')->move($path, $filename);

        //接收信息数据
        $id = $request->id;
        $link = $request->link;
        $img = $imgpath;
        //更改之前查询文件名进行删除
        $aimg = DB::select("select `img` from `logo` where id=" . $id);
        unlink($aimg[0]->img);
        //处理数据
        $result = DB::table('logo')
            ->where('id', $id)
            ->update(
                [
                    'img' => $img,
                    'link' => $link
                ]
            );
        //判断数据跳转
        if ($result) {
            //true跳转重定向
            return redirect('/adm/logo');
        }

    }


    //前台查询
    public function look()
    {
        //查询数据
        $result = DB::table('logo')->get();

        if (empty($result)) {
            return view('/home/content/ment');
        }
        if ($result) {
            return view('/home/content/ment', ['result' => $result]);
        }
    }

}